
#include "LiDAR.h"
#include "Underpan.h"
using namespace std;
/*
1、 多线激光雷达LiDAR作为主题方，发布主题，并接受订阅 
2、 底盘Underpan模块中增加观察者，向雷达模块进行订阅注册，并接收订阅通知。 
3、 当雷达更新障碍物状态时，底盘模块通过订阅者模式接收通知并执行对应操作。 
（1） 障碍我状态为“前方“，则底盘执行”后退“执行 
（2） 障碍我状态为“右前方“，则底盘执行”左转“执行 
（3） 障碍我状态为“左前方“，则底盘执行”右转“执行 注意： 
1、底盘执行指令，只需要在屏幕输出类似“左转。。。。”文字即可。 
2、障碍物状态可通过命令行方式输入。比如1代表前方障碍，2代表左前方障碍，3代表右前方障碍。
*/
int main(){
    LiDAR t;
    Underpan s1,s2,s3;
    t.attach(&s1);
    t.attach(&s2);
    t.attach(&s3);
    int act_of_underpan;
    cout<<"请输入数字设定障碍物的位置：0代表前方障碍，1代表右前方障碍，2代表左前方障碍：";
    cin>>act_of_underpan;//0代表前方障碍，1代表右前方障碍，2代表左前方障碍
    t.setState(act_of_underpan);
    t.Notify();
    return 0;
}